package com.lishe.lishe.lishe.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Created by zhcase on 2017/9/6.
 */

public class ValidationUtils {

    private static final String TAG = ValidationUtils.class.getSimpleName();

    /**
     * 验证手机格式
     */
    public static boolean isMobileNO(String mobiles) {
    /*
    移动：134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
    联通：130、131、132、152、155、156、185、186
    电信：133、153、180、189、（1349卫通）
    总结起来就是第一位必定为1，第二位必定为3或5或8，其他位置的可以为0-9
    */
        //    String telRegex = "[1][358]\\d{9}";//"[1]"代表第1位为数字1，"[358]"代表第二位可以为3、5、8中的一个，"\\d{9}"代表后面是可以是0～9的数字，有9位。

        /**
         * 手机号码
         * 移动：134[0-8],135,136,137,138,139,150,151,157,158,159,182,183,187,188
         * 联通：130,131,132,152,155,156,185,186
         * 电信：133,1349,153,180,189
         */
        //NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[0235-9])\\d{8}$";
        String MOBILE = "^1(3[0-9]|5[0-9]|8[0-9])\\d{8}$";
        /**
         10         * 中国移动：China Mobile
         11         * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
         12         */
        String CM = "^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";
        /**
         15         * 中国联通：China Unicom
         16         * 130,131,132,152,155,156,185,186 +176
         17         */
        String CU = "^1(3[0-2]|5[256]|[78][56])\\d{8}$";
        /**
         20         * 中国电信：China Telecom
         21         * 133,1349,153,180,189
         22         */
        String CT = "^1((33|53|8[09])[0-9]|349)\\d{7}$";


//        Log.e(TAG,"mobiles:"+mobiles);
//        Pattern p = Pattern.compile(MOBILE);
//
//        Matcher m = p.matcher(mobiles);

        if (mobiles == null || mobiles.equals("")) {
            return false;
        } else {

            //return m.matches();
            // //return (Pattern.matches(MOBILE,mobiles)||Pattern.matches(CM,mobiles)||Pattern.matches(CU,mobiles)|| Pattern.matches(CT,mobiles));
            return (mobiles.matches(MOBILE) || mobiles.matches(CM) || mobiles.matches(CU) || mobiles.matches(CT));

        }
    }

    /**
     * @param pass
     * @return
     */
    public static boolean isLimitPass(String pass) {
        String limitEx = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>[表情]~！@①#￥%……&*（）——+|{}【】‘；：”“’。，、？]";
        Pattern pattern = Pattern.compile(limitEx);
        Matcher m = pattern.matcher(pass);

        if (m.find()) {
            return false;
        }
        return true;
    }
}
